package com.fc.v2.model.auto;

import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.date.DateUtil;
import java.util.Date;

public class ApplyAlter implements Serializable {
    private static final long serialVersionUID = 1L;

	
	@ApiModelProperty(value = "id")
	private String id;
	
	@ApiModelProperty(value = "项目审核状态")
	private Integer state;
	
	@ApiModelProperty(value = "项目类型")
	private String proType;
	
	@ApiModelProperty(value = "项目名称")
	private String proName;
	
	@ApiModelProperty(value = "批准号")
	private String proNum;
	
	@ApiModelProperty(value = "项目负责人名称")
	private String manName;
	
	@ApiModelProperty(value = "（原）工作单位")
	private String manIns;
	
	@ApiModelProperty(value = "研究类型")
	private String proRearchType;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@ApiModelProperty(value = "计划完成时间")
	private Date proPlanTime;
	
	@ApiModelProperty(value = "（原）成果形式")
	private String proResType;
	
	@ApiModelProperty(value = "联系电话")
	private String manPhone;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@ApiModelProperty(value = "延期日期")
	private Date postponeDate;
	
	@ApiModelProperty(value = "1年内")
	private Integer postponeInOne;
	
	@ApiModelProperty(value = "超1年")
	private Integer postponeOverOne;
	
	@ApiModelProperty(value = "变更项目负责人")
	private Integer postponeMan;
	
	@ApiModelProperty(value = "变更项目管理单位")
	private Integer postponeProIns;
	
	@ApiModelProperty(value = "改变成果形式")
	private Integer postponeProType;
	
	@ApiModelProperty(value = "改变项目名称")
	private Integer postponeProName;
	
	@ApiModelProperty(value = "研究内容有重大调整")
	private Integer postponeProCont;
	
	@ApiModelProperty(value = "自行中止项目")
	private Integer postponeProStop;
	
	@ApiModelProperty(value = "撤项")
	private Integer postponeCancel;
	
	@ApiModelProperty(value = "调整经费预算")
	private Integer postponeMoney;
	
	@ApiModelProperty(value = "其他（选项）")
	private Integer postponeOther;
	
	@ApiModelProperty(value = "其他（内容）")
	private String otherCont;
	
	@ApiModelProperty(value = "变更事由")
	private String postponeReason;
	
	@ApiModelProperty(value = "所在单位审核意见")
	private String adviceDanwei;
	
	@ApiModelProperty(value = "省社科规划办")
	private String adviceSkl;
	
	@ApiModelProperty(value = "全国社科审核人意见")
	private String adviceNationMan;
	
	@ApiModelProperty(value = "全国社科主管意见")
	private String adviceNationManager;
	
	@ApiModelProperty(value = "全国社科主管领导意见")
	private String adviceNationLeader;
	
	@ApiModelProperty(value = "项目立项回执url")
	private String proApplyDoc;
	
	@ApiModelProperty(value = "立项id")
	private String proId;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@ApiModelProperty(value = "更新时间")
	private Date updateTime;
	
	@ApiModelProperty(value = "单位审核状态")
	private Integer deptPass;
	
	@ApiModelProperty(value = "社科联审核状态")
	private Integer sklPass;
	
	@ApiModelProperty(value = "项目负责人id")
	private String manId;
	
	@ApiModelProperty(value = "负责人所在单位")
	private String manDept;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@ApiModelProperty(value = "单位更新时间")
	private Date deptUpdateTime;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@ApiModelProperty(value = "社科联更新时间")
	private Date sklUpdateTime;
	
	@JsonProperty("id")
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id =  id;
	}
	@JsonProperty("state")
	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state =  state;
	}
	@JsonProperty("proType")
	public String getProType() {
		return proType;
	}

	public void setProType(String proType) {
		this.proType =  proType;
	}
	@JsonProperty("proName")
	public String getProName() {
		return proName;
	}

	public void setProName(String proName) {
		this.proName =  proName;
	}
	@JsonProperty("proNum")
	public String getProNum() {
		return proNum;
	}

	public void setProNum(String proNum) {
		this.proNum =  proNum;
	}
	@JsonProperty("manName")
	public String getManName() {
		return manName;
	}

	public void setManName(String manName) {
		this.manName =  manName;
	}
	@JsonProperty("manIns")
	public String getManIns() {
		return manIns;
	}

	public void setManIns(String manIns) {
		this.manIns =  manIns;
	}
	@JsonProperty("proRearchType")
	public String getProRearchType() {
		return proRearchType;
	}

	public void setProRearchType(String proRearchType) {
		this.proRearchType =  proRearchType;
	}
	@JsonProperty("proPlanTime")
	public Date getProPlanTime() {
		return proPlanTime;
	}

	public void setProPlanTime(Date proPlanTime) {
		this.proPlanTime =  proPlanTime;
	}
	@JsonProperty("proResType")
	public String getProResType() {
		return proResType;
	}

	public void setProResType(String proResType) {
		this.proResType =  proResType;
	}
	@JsonProperty("manPhone")
	public String getManPhone() {
		return manPhone;
	}

	public void setManPhone(String manPhone) {
		this.manPhone =  manPhone;
	}
	@JsonProperty("postponeDate")
	public Date getPostponeDate() {
		return postponeDate;
	}

	public void setPostponeDate(Date postponeDate) {
		this.postponeDate =  postponeDate;
	}
	@JsonProperty("postponeInOne")
	public Integer getPostponeInOne() {
		return postponeInOne;
	}

	public void setPostponeInOne(Integer postponeInOne) {
		this.postponeInOne =  postponeInOne;
	}
	@JsonProperty("postponeOverOne")
	public Integer getPostponeOverOne() {
		return postponeOverOne;
	}

	public void setPostponeOverOne(Integer postponeOverOne) {
		this.postponeOverOne =  postponeOverOne;
	}
	@JsonProperty("postponeMan")
	public Integer getPostponeMan() {
		return postponeMan;
	}

	public void setPostponeMan(Integer postponeMan) {
		this.postponeMan =  postponeMan;
	}
	@JsonProperty("postponeProIns")
	public Integer getPostponeProIns() {
		return postponeProIns;
	}

	public void setPostponeProIns(Integer postponeProIns) {
		this.postponeProIns =  postponeProIns;
	}
	@JsonProperty("postponeProType")
	public Integer getPostponeProType() {
		return postponeProType;
	}

	public void setPostponeProType(Integer postponeProType) {
		this.postponeProType =  postponeProType;
	}
	@JsonProperty("postponeProName")
	public Integer getPostponeProName() {
		return postponeProName;
	}

	public void setPostponeProName(Integer postponeProName) {
		this.postponeProName =  postponeProName;
	}
	@JsonProperty("postponeProCont")
	public Integer getPostponeProCont() {
		return postponeProCont;
	}

	public void setPostponeProCont(Integer postponeProCont) {
		this.postponeProCont =  postponeProCont;
	}
	@JsonProperty("postponeProStop")
	public Integer getPostponeProStop() {
		return postponeProStop;
	}

	public void setPostponeProStop(Integer postponeProStop) {
		this.postponeProStop =  postponeProStop;
	}
	@JsonProperty("postponeCancel")
	public Integer getPostponeCancel() {
		return postponeCancel;
	}

	public void setPostponeCancel(Integer postponeCancel) {
		this.postponeCancel =  postponeCancel;
	}
	@JsonProperty("postponeMoney")
	public Integer getPostponeMoney() {
		return postponeMoney;
	}

	public void setPostponeMoney(Integer postponeMoney) {
		this.postponeMoney =  postponeMoney;
	}
	@JsonProperty("postponeOther")
	public Integer getPostponeOther() {
		return postponeOther;
	}

	public void setPostponeOther(Integer postponeOther) {
		this.postponeOther =  postponeOther;
	}
	@JsonProperty("otherCont")
	public String getOtherCont() {
		return otherCont;
	}

	public void setOtherCont(String otherCont) {
		this.otherCont =  otherCont;
	}
	@JsonProperty("postponeReason")
	public String getPostponeReason() {
		return postponeReason;
	}

	public void setPostponeReason(String postponeReason) {
		this.postponeReason =  postponeReason;
	}
	@JsonProperty("adviceDanwei")
	public String getAdviceDanwei() {
		return adviceDanwei;
	}

	public void setAdviceDanwei(String adviceDanwei) {
		this.adviceDanwei =  adviceDanwei;
	}
	@JsonProperty("adviceSkl")
	public String getAdviceSkl() {
		return adviceSkl;
	}

	public void setAdviceSkl(String adviceSkl) {
		this.adviceSkl =  adviceSkl;
	}
	@JsonProperty("adviceNationMan")
	public String getAdviceNationMan() {
		return adviceNationMan;
	}

	public void setAdviceNationMan(String adviceNationMan) {
		this.adviceNationMan =  adviceNationMan;
	}
	@JsonProperty("adviceNationManager")
	public String getAdviceNationManager() {
		return adviceNationManager;
	}

	public void setAdviceNationManager(String adviceNationManager) {
		this.adviceNationManager =  adviceNationManager;
	}
	@JsonProperty("adviceNationLeader")
	public String getAdviceNationLeader() {
		return adviceNationLeader;
	}

	public void setAdviceNationLeader(String adviceNationLeader) {
		this.adviceNationLeader =  adviceNationLeader;
	}
	@JsonProperty("proApplyDoc")
	public String getProApplyDoc() {
		return proApplyDoc;
	}

	public void setProApplyDoc(String proApplyDoc) {
		this.proApplyDoc =  proApplyDoc;
	}
	@JsonProperty("proId")
	public String getProId() {
		return proId;
	}

	public void setProId(String proId) {
		this.proId =  proId;
	}
	@JsonProperty("updateTime")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime =  updateTime;
	}
	@JsonProperty("deptPass")
	public Integer getDeptPass() {
		return deptPass;
	}

	public void setDeptPass(Integer deptPass) {
		this.deptPass =  deptPass;
	}
	@JsonProperty("sklPass")
	public Integer getSklPass() {
		return sklPass;
	}

	public void setSklPass(Integer sklPass) {
		this.sklPass =  sklPass;
	}
	@JsonProperty("manId")
	public String getManId() {
		return manId;
	}

	public void setManId(String manId) {
		this.manId =  manId;
	}
	@JsonProperty("manDept")
	public String getManDept() {
		return manDept;
	}

	public void setManDept(String manDept) {
		this.manDept =  manDept;
	}
	@JsonProperty("deptUpdateTime")
	public Date getDeptUpdateTime() {
		return deptUpdateTime;
	}

	public void setDeptUpdateTime(Date deptUpdateTime) {
		this.deptUpdateTime =  deptUpdateTime;
	}
	@JsonProperty("sklUpdateTime")
	public Date getSklUpdateTime() {
		return sklUpdateTime;
	}

	public void setSklUpdateTime(Date sklUpdateTime) {
		this.sklUpdateTime =  sklUpdateTime;
	}

																																																																														
	public ApplyAlter(String id,Integer state,String proType,String proName,String proNum,String manName,String manIns,String proRearchType,Date proPlanTime,String proResType,String manPhone,Date postponeDate,Integer postponeInOne,Integer postponeOverOne,Integer postponeMan,Integer postponeProIns,Integer postponeProType,Integer postponeProName,Integer postponeProCont,Integer postponeProStop,Integer postponeCancel,Integer postponeMoney,Integer postponeOther,String otherCont,String postponeReason,String adviceDanwei,String adviceSkl,String adviceNationMan,String adviceNationManager,String adviceNationLeader,String proApplyDoc,String proId,Date updateTime,Integer deptPass,Integer sklPass,String manId,String manDept,Date deptUpdateTime,Date sklUpdateTime) {
				
		this.id = id;
				
		this.state = state;
				
		this.proType = proType;
				
		this.proName = proName;
				
		this.proNum = proNum;
				
		this.manName = manName;
				
		this.manIns = manIns;
				
		this.proRearchType = proRearchType;
				
		this.proPlanTime = proPlanTime;
				
		this.proResType = proResType;
				
		this.manPhone = manPhone;
				
		this.postponeDate = postponeDate;
				
		this.postponeInOne = postponeInOne;
				
		this.postponeOverOne = postponeOverOne;
				
		this.postponeMan = postponeMan;
				
		this.postponeProIns = postponeProIns;
				
		this.postponeProType = postponeProType;
				
		this.postponeProName = postponeProName;
				
		this.postponeProCont = postponeProCont;
				
		this.postponeProStop = postponeProStop;
				
		this.postponeCancel = postponeCancel;
				
		this.postponeMoney = postponeMoney;
				
		this.postponeOther = postponeOther;
				
		this.otherCont = otherCont;
				
		this.postponeReason = postponeReason;
				
		this.adviceDanwei = adviceDanwei;
				
		this.adviceSkl = adviceSkl;
				
		this.adviceNationMan = adviceNationMan;
				
		this.adviceNationManager = adviceNationManager;
				
		this.adviceNationLeader = adviceNationLeader;
				
		this.proApplyDoc = proApplyDoc;
				
		this.proId = proId;
				
		this.updateTime = updateTime;
				
		this.deptPass = deptPass;
				
		this.sklPass = sklPass;
				
		this.manId = manId;
				
		this.manDept = manDept;
				
		this.deptUpdateTime = deptUpdateTime;
				
		this.sklUpdateTime = sklUpdateTime;
				
	}

	public ApplyAlter() {
	    super();
	}

	public String dateToStringConvert(Date date) {
		if(date!=null) {
			return DateUtil.format(date, "yyyy-MM-dd HH:mm:ss");
		}
		return "";
	}
	

}